package com.ruoyi.gzmx_scdw.service;

import java.util.List;
import com.ruoyi.gzmx_scdw.domain.Gzmx_scdw;
import com.ruoyi.common.core.domain.Ztree;
import com.ruoyi.gzmx_scdw.domain.Gzmx_scdwVo;
import com.ruoyi.gzmx_scdw.domain.ZtreeNew;
import com.ruoyi.gzmx_tag.domain.Gzmx_tag;
import com.ruoyi.youtian.domain.TreeSelect;

/**
 * gzmx_scdwService接口
 * 
 * @author ruoyi
 * @date 2022-07-25
 */
public interface IGzmx_scdwService 
{
    /**
     * 查询gzmx_scdw
     * 
     * @param id gzmx_scdw主键
     * @return gzmx_scdw
     */
    public Gzmx_scdw selectGzmx_scdwById(Long id);

    /**
     * 查询gzmx_scdw列表
     * 
     * @param gzmx_scdw gzmx_scdw
     * @return gzmx_scdw集合
     */
    public List<Gzmx_scdw> selectGzmx_scdwList(Gzmx_scdw gzmx_scdw);

    /**
     * 新增gzmx_scdw
     * 
     * @param gzmx_scdw gzmx_scdw
     * @return 结果
     */
    public int insertGzmx_scdw(Gzmx_scdw gzmx_scdw);

    /**
     * 修改gzmx_scdw
     * 
     * @param gzmx_scdw gzmx_scdw
     * @return 结果
     */
    public int updateGzmx_scdw(Gzmx_scdw gzmx_scdw);

    /**
     * 批量删除gzmx_scdw
     * 
     * @param ids 需要删除的gzmx_scdw主键集合
     * @return 结果
     */
    public int deleteGzmx_scdwByIds(String ids);

    /**
     * 删除gzmx_scdw信息
     * 
     * @param id gzmx_scdw主键
     * @return 结果
     */
    public int deleteGzmx_scdwById(Long id);

    /**
     * 查询gzmx_scdw树列表
     * 
     * @return 所有gzmx_scdw信息
     */
    public List<Ztree> selectGzmx_scdwTree();


    public List<Ztree> selectGzmx_scdwTreeNew();


    /**
     * 模型管理左侧树 三级生产点位 + 场景
     * @return
     */
    public List<Ztree> temlateTreeData();


    /**
     * 基础管理左侧树 5级生产点位 + 设备
     * @return
     */
    public List<Ztree> jichuTreeData();

    public List<ZtreeNew> jichuTreeDataNew();

    /**
     *模型管理树
     * @return
     */
    public List<ZtreeNew>  templateTreeDataNew();


    public List<TreeSelect> selectGzmx_scdwTreeSelectList(Gzmx_scdw gzmxScdw);


    public List<TreeSelect> selectGzmx_scdwTreeSelectListNew(Gzmx_scdw gzmxScdw);


    /**
     * 基础管理 左侧树 显示生产点位 设备 点位
     * @param gzmxScdw
     * @return
     */
    public List<TreeSelect> selectGzmx_scdwBasicTreeSelectList(Gzmx_scdw gzmxScdw);

    List<Gzmx_tag> reselectGzmx_reoscdwList(Gzmx_tag gzmx_tag);
}
